home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swags_z.zip / STRINGS.SWG / 0047_Pad STRING to RIGHT.pas < prev    next >
Pascal/Delphi Source File  |  1993-09-26  |  1KB  |  42 lines

  1. {*****************************************************************************
  2.  * Function ...... PadR()
  3.  * Purpose ....... To pad the right side of a string with a character
  4.  * Parameters .... s      String to pad
  5.  *                 c      Character to pad with
  6.  *                 n      New length for <s>
  7.  * Returns ....... <s> padded with character <c> with length <n>
  8.  * Notes ......... None
  9.  * Author ........ Martin Richardson
  10.  * Date .......... October 2, 1992
  11.  *****************************************************************************}
  12. FUNCTION PADR( s: STRING; n: BYTE; c: CHAR ): STRING; ASSEMBLER;
  13. ASM
  14.       PUSH   DS
  15.       CLD
  16.       LDS    SI, s
  17.       XOR    AX, AX
  18.       LODSB
  19.       MOV    CX, AX
  20.  
  21.       LES    DI, @Result
  22.       INC    DI
  23.       REP    MOVSB
  24.  
  25.       MOV    CL, n
  26.       SUB    CL, AL
  27.  
  28.       CMP    CX, 0
  29.       JNB    @@1
  30.       XOR    CX, CX
  31.  
  32. @@1:  MOV    AL, c
  33.       REP    STOSB
  34.  
  35.       MOV    DI, WORD PTR @Result
  36.       MOV    AL, n
  37.       MOV    BYTE PTR ES:[DI], AL
  38.  
  39.       POP    DS
  40. END;
  41.  
  42.